// 1.js中对象类型不能作为key
const obj1 = {
  name: "yz"
}
const obj2 = {
  name: "jay zhou"
}

const info = {
  [obj1]: "aaa",
  [obj2]: "bbb"
}
console.log(info);

// 2.map可以使用对象类型作为key
// 构造方法
const map = new Map()
map.set(obj1, "aaa")
map.set(obj2, "bbb")
map.set(1, "ccc")
console.log(map);

const map2 = new Map([[obj1, "aaa"], [obj2, "bbb"], [2, "eeee"]])
console.log(map2);

// 3.常见属性方法
console.log((map2.size));

// set
map2.set("yz", "www")
console.log(map2);

// get
console.log(map2.get("yz"));

// has
console.log(map2.has("yz"));

// delete
map2.delete("yz")
console.log(map2);

// clear
// map2.clear()


// 4.遍历map
map2.forEach((item, key) => {
  console.log(item, key)
})

for(const item of map2) {
  console.log(item[0], item[1]);
}
for(const [key, value] of map2) {
  console.log(key, value);
}

